package com.ceshiren.aitestmini.service;

import com.ceshiren.aitestmini.dto.task.RequestInfoDto;
import com.ceshiren.aitestmini.dto.task.TestTaskDto;
import com.ceshiren.aitestmini.entity.HogwartsTestCase;
import com.ceshiren.aitestmini.entity.HogwartsTestTask;
import com.ceshiren.aitestmini.util.R;

import java.io.IOException;
import java.net.URISyntaxException;

public interface ProjectService {

    /**
     * 添加用例
     * @param hogwartsTestCase
     * @return
     */
    R addCase(HogwartsTestCase hogwartsTestCase);

    /**
     *  创建任务
     * @param testTaskDto
     * @return
     */
    R createTask(TestTaskDto testTaskDto);

    /**
     *  获取用例数据
     * @param hogwartsTestCase
     * @return
     */
    String getCaseById(HogwartsTestCase hogwartsTestCase);

    /**
     * 执行任务
     * @param requestInfoDto
     * @param hogwartsTestTask
     * @return
     */
    R runTask(RequestInfoDto requestInfoDto, HogwartsTestTask hogwartsTestTask) throws IOException, URISyntaxException;

    /**
     *  修改任务状态
     * @param hogwartsTestTask
     * @return
     */
    R updateStatus(HogwartsTestTask hogwartsTestTask);

    /**
     * 获取报告
     * @param taskId
     * @return
     */
    R getReport(Integer taskId);

    /**
     *  用例列表查询
     * @return
     */
    R listCase();

    /**
     *  任务列表查询
     * @return
     */
    R listTask();


}
